using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace Typing_GUI.CLASS
{
    public class CToChucLuyenTap
    {  
        #region"thuoc tinh"
            private int maluyentap;

            public int Maluyentap
            {
                get { return maluyentap; }
                set { maluyentap = value; }
            }
            private string mota;

            public string Mota
            {
                get { return mota; }
                set { mota = value; }
            }
            private string tenluyentap;

            public string Tenluyentap
            {
                get { return tenluyentap; }
                set { tenluyentap = value; }
            }

        #endregion

        #region"phuongthuc"

        public bool createTCLT()
        {
            string sql = "insert into ToChucLuyenTap(MaLuyenTap,TenLuyenTap,MoTa)";
            sql += " values(" + this.maluyentap.ToString() + ",'" + this.tenluyentap + "','" + this.mota + "')";
            if (!DataProvider.ExecuteNonQuery(sql))
                return false;
            return true;
        }

        public bool deleteTCLT()
        {
            string sql = "delete from ToChucLuyenTap where MaLuyenTap=" + this.maluyentap.ToString();
            if (!DataProvider.ExecuteNonQuery(sql))
                return false;
            return true;
        }

        public bool updateTCLT()
        {
            string sql = "update ToChucLuyenTap set";
            sql += " TenLuyenTap='" + this.tenluyentap + "'";
            sql += ",MoTa='" + this.mota + "'";
            sql += " where MaLuyenTap=" + this.maluyentap.ToString();
            if (!DataProvider.ExecuteNonQuery(sql))
                return false;
            return true;
        }

        public static List<CLASS.CBaiTap> GetLessonsByExam(int examID)
        {
            List<CLASS.CBaiTap> lessonList=new List<CLASS.CBaiTap>();
            string sql = "select MaBaiTap from ToChucLuyenTap,ChiTietLuyenTap where ";
            sql += "  ChiTietLuyenTap.MaLuyenTap=ToChucLuyenTap.MaLuyenTap";
            System.Data.DataTable dt = DataProvider.ExecuteQuery(sql);
            foreach (System.Data.DataRow dr in dt.Rows)
            {
                int lessonID = int.Parse(dr[0].ToString());
                CLASS.CBaiTap lesson = CLASS.CBaiTap.GetLessonByID(lessonID);
                lessonList.Add(lesson);
            }
            return lessonList;
        }

//
        //vinh
        // lay ma to chuc luyen tap cao nhat
        public static int LayMax()
        {
            int kq = -1;
            string sql = "";
            sql += " Select Max(MaLuyenTap) From ToChucLuyenTap ";
            DataTable dt = DataProvider.ExecuteQuery(sql);
            kq = int.Parse(dt.Rows[0][0].ToString());
            return kq;

        }

        public bool ThemTCLT()
        {
            string sql = "Insert Into ToChucLuyenTap(TenLuyenTap,MoTa)";
            sql += " values(" + "'" + this.tenluyentap + "','" + this.mota + "')";
            if (!DataProvider.ExecuteNonQuery(sql))
                return false;
            return true;
        }

        public static DataTable LayTatCaToChucLuyenTap()
        {
            string sql = "";
            sql += " Select MaLuyenTap,TenLuyenTap,MoTa From ToChucLuyenTap ";
            DataTable dt = DataProvider.ExecuteQuery(sql);
            return dt;
        }

        public static DataTable LayThongTinCuaToChucLuyenTap(int maToChucLuyenTap)
        {
            string sql = "";
            sql += "Select TenLuyenTap,MoTa From ToChucLuyenTap Where MaLuyenTap=" + maToChucLuyenTap;
            DataTable dt = DataProvider.ExecuteQuery(sql);
            return dt;
        }

        public static DataTable LayDanhSachBaiTapCuaToChucLuyenTap(int maToChucLuyenTap)
        {
            string sql = "";
            sql += " SELECT ChiTietLuyenTap.MaBaiTap , BaiTap.TenBaiTap ";
            sql += " FROM ((ToChucLuyenTap INNER JOIN ";
            sql += " ChiTietLuyenTap ON ToChucLuyenTap.MaLuyenTap = ChiTietLuyenTap.MaLuyenTap) INNER JOIN ";
            sql += " BaiTap ON ChiTietLuyenTap.MaBaiTap = BaiTap.MaBaiTap) ";
            sql += " WHERE (ToChucLuyenTap.MaLuyenTap = "+maToChucLuyenTap+")";
            DataTable dt = DataProvider.ExecuteQuery(sql);
            return dt;
        }
        ///vinh
//
        public static List<CToChucLuyenTap> GetExams()
        {
            List<CToChucLuyenTap> result=new List<CToChucLuyenTap>();
            string sql = "select*from ToChucLuyenTap";
            System.Data.DataTable dt = DataProvider.ExecuteQuery(sql);
            foreach (System.Data.DataRow dr in dt.Rows)
            {
                CToChucLuyenTap exam = new CToChucLuyenTap();
                exam.Maluyentap = int.Parse(dr["MaLuyenTap"].ToString());
                exam.Tenluyentap = dr["TenLuyenTap"].ToString();
                exam.mota = dr["MoTa"].ToString();
                result.Add(exam);
            }
            return result;
        }
//>>>>>>> .r84
        #endregion

    }
}
